Method and system for visualizing surface errors

ABSTRACT

A method and system for visualizing deviations on an actual surface  10, 30  from a nominal, or designed, surface  28  utilizes a system and method for mapping the spatial (e.g. x, y and z) coordinates of the actual surface  10, 30  into a computer  13 , comparing the mapped actual surface to the nominal surface  28  to produce a three-dimensional distribution of deviation values (D), processing this distribution into a topographical pattern  34  of multiple contours or areas  34   a    . . . 34   n , each contour or area having the same, or generally the same, deviation value (D), and optically projecting this topographical pattern  34  onto the actual surface  10, 30  in registry with the initial surface mapping to provide a display of the surface deviations (D) directly on the actual surface  10, 30 . The deviations are measured along a direction D normal to the actual surface so that the three-dimensional distribution is given in x, y, D coordinates. The optical projection is preferably a laser projection  38 . The mapping and projection onto the actual surface  10, 30  are made, and coordinated with one another, with respect to three reference points  32  on the surface  10, 30.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a Section 371 filing of PCT/US02/32520 filed 11 Oct.2002 which claims priority under 35 USC 119(e) of U.S. provisionalapplication No. 60/328,685 filed 11 Oct. 2001.

BACKGROUND OF THE INVENTION

This invention relates in general to surface verification and correctionin the process of manufacturing, and more specifically, to a method andsystem for producing an optical, topographical display of surfaceprofile errors directly on the surface.

In the process of manufacturing a large part, such as a tool, a mold, ora stamped sheet metal panel where it is important that the surface beprecisely shaped, e.g. as in the aerospace industry, it is usuallyrequired to verify and, if necessary, to accurately correct (rework) theshape of the surface. Obviously, the surface shape has to be comparedwith design specifications. In modern production, parts, tools, dies,and molds are usually designed based on computer-assisted design (CAD)models. In computer-aided manufacturing (CAM, for example, computernumerically-controlled (CNC) machine tools use the CAD design as aninput to control the operation of the tool in machining a product.

There are a number of methods for precise verification of a surfaceshape using different profilometers, coordinate measuring machines(CMM's), laser trackers, 3D scanning measurement systems and otherequipment.

Some manufacturers such as FARO Technologies, Inc. (“FARO”) make manualCMM's that use an articulated arm with six degrees and a contact sensorattached to a free end of the arm. The arm is being moved over thesurface by an operator in the manner of a pantograph. Transducers at thearticulations supply angular positions which can be converted intosurface profile information. Other manufacturers such as Brown and Sharpmake automated CMM's based on multi-axis stages and gantries carryingcontact or non-contact sensors capable to gather information about asurface profile. Conventional CMM's have limited usage in large scalemanufacturing, for example, in aerospace or boat building industries.Most appropriate for large surface profile measurements in thoseindustries are non-contact 3D scanning systems and laser trackers. Theprecision required for tool surface profiling in aerospace applicationsis quite high—usually several thousandths of an inch. Non-contact 3Dscan measurement system capable of delivering such precision ismanufactured by MetricVision. It is suitable for automated surfacemeasurement, but this system is very expensive. Laser trackers generallyprovide the same high level of precision but they are less expensive andwidely used in large scale industrial applications despite substantialmanual labor involved in a surface scan.

High precision laser trackers are manufactured by Leica Geosystems AG(“Leica”), Automated Precision, Inc. (“API”), and FARO. Known lasertrackers are single point devices. The tracker measures any surfacepoint location by directing a laser beam toward a remote optical probethat touches the surface at a given point. The optical probe made as aball, usually 0.5-1 inch in diameter, that has a very preciseretro-reflective prism inside. The retro-reflective prism is facing awayfrom the surface being measured and it returns the incident laser beamback to its source, which allows tracker's angular servo system tocapture the direction of the beam and to follow (track) movement of theball. Probes of this type are commonly termed a “pick-up ball”. Whenacquiring the surface profile the pick-up ball is being moved by handfrom point to point while keeping it in touch with the surface. Thisprocess, with periodic recordation of position information, createsso-called “cloud” of digitized surface data points.

Usually trackers or other surface scan measurement systems utilizeintegrated software capable of comparing measurement data with CAD modeldata, computing deviations between the actual surface shape and itsmodel, and presenting results in graphic form on a computer screen or aplotter. It helps to analyze surface imperfections and to decide if thetested part is within specifications or not. Some of parts and,especially, large tools in aerospace industry are so expensive inproduction that it is often more reasonable to manually rework andcorrect their surface flaws rather to completely remake them. However,for the surface rework process it is not enough to see detectedimperfections on a computer screen but it is absolutely necessary to mapand locate those imperfections directly on the tested surface.

In today's industrial practice this mapping of the imperfections on thetested surface is done manually, literally with a ruler and a pencil, bydrawing auxiliary lines on the surface and marking surface errorspoint-by-point. It is a very difficult and time-consuming process. Forlarge precise parts it can take weeks of time to complete. And everytime when a particular area on the surface is corrected by filling orgrinding, all marks are being erased. So, if after second verificationit is necessary to “touch up” or additionally correct that area, themanual mapping and marking has to be done again. Manual error mappingalso includes a quite difficult procedure to reference the region ofrework with respect to datum features of a part. That sometimes requiresone to map out and mark an auxiliary mesh grid lined onto the surface.

U.S. Pat. No. 6,365,221 to Morton describes a computer controlled methodfor fairing and painting marine vessel surfaces. Morton uses multiplerobots positioned on moveable transports. Arms have various attachmentssuch as laser surface mapping systems, compound and paint sprayers, andmilling and vacuum apparatus. No projection of information about surfacevariations onto the vessel is described, nor is there any disclosure ofa comparison of the actual surface to a design surface. This system islimited to applications, such as marine vessel manufacturing andrefurbishing, where a relatively coarse level of precision with respectto the surface, e.g. about ⅛ of an inch, is acceptable. This is anexpensive system that is economically reasonable only for processinghuge surfaces. In contrast, aerospace manufacturing processes, e.g.,typically require 10 times better precision.

Thus there is a need to improve, accelerate, and reduce cost of theexisting processes of manual surface correction in aerospace and otherindustries that demand a high degree of precision.

It is therefore a principal object of this invention to provide a methodand system for visualizing errors of a surface shape by opticallyprojecting onto the actual surface a topographical map of deviations ofthat surface from a nominal, design surface.

Another object of the invention is to continuously display on a surfacea mapping in patterns (contours or areas) of the same or generally thesame deviation over all, or significant portions of, the surface.

Another object of the invention is to reduce the time required to reworka surface, particularly a large surface such as on a mold, die, tool, orformed panel of a product such as an airplane fuselage.

Still another object is to provide such an on-surface projection withoutrequiring an auxiliary mesh grid to be mapped onto the surface.

A further object is to provide a system that is comparatively compact,mobile, and readily removed from and repositioned with respect to thesurface being tested and/or reworked.

SUMMARY OF THE INVENTION

The method and system of the present invention provides a precisionvisualization of surface shape errors by optically projecting directlyonto the actual surface a pattern outlining the areas that deviate froma design, or nominal, surface. The pattern projected can be an area orareas of the same color of projected light representing the same degreeof surface area, or, in the presently preferred form, the pattern can bea contour line or lines that each connect spatial points of the actualsurface that have the same, or generally the same, value for the surfaceerror. The actual surface can be mapped, in its presently preferredform, by a tracking-type data acquisition system that scans the surface,e.g. by movement over the surface of an element carrying a member thatretro-reflects laser light. A laser tracker follows the retro-reflectivemember, periodically acquiring its spatial coordinates from thepositions of the retro-reflective element in the direction of the laserbeam. This tracking produces a three-dimensional “cloud” of digitizeddata points that give a spatial profile of the actual surface, typicallyin standard three-dimensional coordinates, X, Y, and Z, and typicallynot evenly spaced. Because the retro-reflective element can be “painted”over the surface manually, the locations of the acquired measurementpoints are “arbitrary”, as opposed to being spaced at regular, grid-likeintervals.

This data point cloud is processed for comparison with the nominalsurface. In the presently preferred form, this processing establishes amesh grid—a two-dimensional array [X(i), Y(i)]. The grid mesh, set bythe number of lines, “i”, is sufficiently dense enough to be used inrepresentation of the nominal and actual (measured) surfaces. Typically,one can use CAD model data to derive a data set representing the nominalsurface sampled (digitized) at the nodes (points of X and Y grid lineintersection) of the mesh grid. This data set is stored as athree-dimensional array [X(i), Y(i), Z^(nom)(i)].

The actual surface is measured at some arbitrary points (dense enough torepresent that surface), for example, by a tracker, resulting a pointcloud [X(k), Y(k), Z^(actual)(k)]. Here “k” denotes points on themeasured surface.

The measured point cloud data taken at arbitrary points on the surfaceare converted, using interpolation, to generate a data set of “knotpoints” that represents the actual surface by points that computed forthe nodes of the mesh grid. This data set is to be stored as athree-dimensional array [X(i), Y(i), Z^(act-int)(i)]. It is used torepresent the actual surface for the subsequent computations.

Based on the CAD model data for the nominal surface, the method of thepresent invention then computes a deviation D(i) for each knot of theactual (measured) surface in a direction normal to the actual surface atthat knot point. The resulting set of deviations D(i) in athree-dimensional array (X(i,) Y(i), D(i)) are then stored in memory formapping into a three-dimensional space (X,Y,D).

To transform this deviation space into a two-dimensional topographicalmap, the invention then sets up a number of incremental levels in thedimension D separated by a chosen deviation tolerance Δ(D). Theseparations between levels are not necessarily uniform. Each level canalso be viewed as a “planar slice” through the three-dimensionaldigitized representation of the surface errors mapped into the “D”space.

In the presently preferred arrangement where the topographical patternis a set of contour lines, each contour line is a boundary in the X-Ydomain of the “D” space grouping all points where deviations are equalto a particular D level. Each contour array (X^(cont)(j), Y^(cont)(j),D_(m)) is computed by numerical solving of a non-linear equation and itrepresents a group of points where deviations are equal D_(m). Contourarrays represent close or open-ended contour lines. Also, each contourarray is arranged in such a way that subsequent array elementscorrespond to the neighboring points in the contour line.

Each contour array is then converted into a projection array bysubstituting D_(m) with Z^(act-int)(j). Every resulting projection array(X^(cont)(j), Y^(cont)(j), Z^(act-int)(j)) represents a series of pointsthat belongs to the interpolated actual surface outlining the contour ofa particular tolerance level deviation.

Finally, the set of projection arrays is to be used as the input datafor an optical projector, preferably a laser projector, to visualize theset of contour lines showing directly on the actual surface the areasdeviating from the design.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a view in perspective of an error visualization systemoperated in accordance with the present invention;

FIG. 2 is a view in perspective of a hand-held profiling device used inthe acquisition of actual surface data points;

FIG. 3 is a view in perspective of nominal (designed) surfacerepresented as a set of patches showing a knot and its correspondingnode point in a two-dimensional X, Y mesh grid;

FIG. 4 is a view (similar to FIG. 3) of computed representation of theactual surface in three-dimensional X, Y, Z space shown as a set ofpatches with a knot corresponding to the same node as shown in FIG. 3;

FIG. 5 is a graph of a two-dimensional (X, Z) cross section of theactual and nominal surfaces showing node points X(i) and correspondingknot points on the nominal and actual surfaces and further showingsurface deviations D at each knot point directed at normal to the actualsurface toward the nominal surface; and

FIG. 6 is a graphical representation in a deviation space (X, Y, D) of athree-dimensional distribution of deviations of the actual surface fromthe nominal surface, and corresponding X, Y mesh grid, and also showingplanar tolerance intervals D₀, . . . , D_(N) in deviation space takennormal to the D axis.

DETAILED DESCRIPTION OF THE INVENTION

With reference to FIGS. 1 and 2, the present invention is a system 15and method for visualizing errors on a surface 10 shown in FIG. 1 by wayof an example as an exterior panel of a door of a pickup truck 12. Themajor components of the visualization system 15 are a laser tracker 14that measures actual shape of the surface 10, a processor 13, and anoptical projector 38 that displays a visual topographical error pattern34 on the surface 10.

Laser tracker 14 provides surface profile measurements. It is beingoperated in conjunction with a retro-reflective element 16 (FIG. 2) thatcan be moved freely over the surface 10. The retro-reflective element 16has a high precision comer cube prism 17 mounted inside a hardened steelball 22. A front face 18 of the comer cube prism 17 opens outwardlythrough the circular cut 22 b in the ball 22. A vertex 20 of the prism17 is precisely aligned with the geometric center of the ball 22. Ahand-held wand 24 carries the ball at one end, e.g. replaceably securedby a magnet mounted in one end of the wand. The back surface of the ball22 a opposite the cut 22 b is in maintained contact with the surface 10as the wand 24 with retro-reflective element 16 is moved manually byoperator over the surface. A source laser beam 26 directed from thetracker 14 strikes the retro-reflective element 16 which directs thebeam back to the point of its origin. The tracker includesphotosensitive elements that receive this reflected light beam anddetect movement of the retro-reflective element 16. The detectedmovement produces a corresponding control signal that allows tracker'sangular servo system to capture the reflected beam direction and tosteer the source laser beam 26 to follow, or “track”, theretro-reflective element 16 as operator moves it over the surface 10.The tracker 14 acquires position of the retro-reflective element 16 bymeasuring the azimuth and elevation angles of the source laser beam 26steering mechanism while tracking and by determining the distancebetween the tracker 14 and the element 16. It samples position of theelement 16 periodically, e.g. every ¼ second, so that as operator“paints” the surface 10 constantly moving the wand 24 withretro-reflective element 16, a large number of positional data pointsare generated. Azimuth and elevation angles, and distance are internallytranslated into X, Y, Z coordinates for any given location of theelement 16 on the surface 10.

Collected positional data points are scattered non-uniformly over thetested surface 10. This method of digitizing surface shape is known asobtaining so-called “point cloud”. Coordinates of those initiallyacquired data points are referenced with respect to the initial trackercoordinate system X, Y, Z.

As shown in FIG. 1, there are at least 3 reference points 32 associatedwith the surface 10. Positions of points 32 are known precisely withrespect to the coordinate system of the truck's 12 design model. Someconvenient structure features like holes or rivets are usually used asthose reference points. Operator sequentially locates retro-reflectiveelement 16 at reference points 32 causing tracker 14 to acquire theirpositions. The acquired reference points data are needed to transformthe “cloud” of surface 10 data points from the initial coordinate systemX, Y, Z into the design model coordinate system. That is usually beingdone by the tracker internal software. Suitable laser trackers arecommercially available from the aforementioned Leica, FARO or API. Thedata thus acquired by the tracker 14 are sent to the processor 13 thatgenerates command information for the projector 38. The data processedin the manner which will be described in more detail below, with the endresult being the projection of a visualization pattern 34 as atopographical display of the surface 10 errors. The processor 13 can byphysically located, e.g. on a p.c. board, in the tracker 14, theprojector 38, or as a separate component. It is shown in FIG. 1schematically as a functional block communicating with the tracker 14and the projector 38.

As will be understood, the surface 10, while shown as the door panel ofa truck, can be any of a wide variety of surfaces such as those of amold, die, machine tool, or any of a wide variety of finished products,and in particular the outer surface of airplanes and missiles.Similarly, while a laser tracker 14 is described and illustrated, theinvention is not limited to any particular type of surface measurement,apparatus or technique. Mechanical coordinate measuring machines ornon-contact 3D scan measurement systems are known and could be used forthe laser optical tracker 14. Still further, while a hand-held wand 24is illustrated and described as operating in conjunction with thetracker 14 to acquire the actual surface profile, it will be understoodthat this is merely one illustrative example of an apparatus for acontact surface scanning of a surface being inspected and/or reworked,and that any of the other arrangements known to those skilled in theart, including non-contact surface profile acquisition systems, can beused.

The projector 38, preferably a laser projector, receives its inputinformation from the processor 13 to control the movement of its laserbeam to display the surface 10 errors directly onto the surface 10 inthe form of the pattern 34. Laser projector 38 employs a pair of mirrorsattached to precise galvanometers to steer the laser beam very fast andto direct it at each given moment of time exactly toward the given point(x, y, z) on the surface 10. The beam trajectory is being generated froma sequence of input data points (x, y, z) supplied by the processor 13.Those projector input data points are organized in groups (arrays)traditionally named “layers”. Each “layer” represents an isolated singlecomponent (for example, line or contour) of the pattern 34. The laserbeam hits the surface 10 with a focused spot that moves across thesurface repeating its trajectory with all components of the pattern 34again and again in the manner of a movie or laser show. For a practicalindustrial arrangement of the system 15 having the distance between theprojector 38 and the surface 10 to be about 15 feet the laser beam spotmoves across the surface 10 with velocity in excess of 700 miles perhour. That provides projection of the pattern 34 containing up to 20isolated components—“layers” without visible flicker.

The laser projector 38 also has a photosensitive element that receiveslight reflected back from some features on the surface 10, inparticular, retro-reflective targets attached to the reference points32. As it was mentioned above, positions of the points 32 are knownprecisely with respect to the coordinate system of the truck's 12 designmodel. Prior to actual projection, the projector 38 scans points 32 withits laser beam and computes its location in 3D space with respect to thedesign model's coordinate system. That enables projector 38 to utilizethe stream of input data points (x, y, z) for projection referenceddirectly to the design model coordinate system.

A suitable laser projector is commercially available from LaserProjection Technologies of Londonderry, New Hampshire and sold under thetrade designation “LPT”. It should be understood that the usage of sucha laser projector is described here as just one of possible examples ofa digitally controlled optical projection apparatus capable ofdisplaying a specified pattern on a curvilinear surface. The LPT brandprojector has a ranging capability that lends itself to adaption of theprojector 38 to also perform a tracking or surface profile acquisitionfunction, e.g. with sensing of mirror positions as surface pointposition data inputs. The invention therefore contemplates the tracker14 and projector 38 being one piece of equipment that can also includethe computer 13, e.g. as a processor chip mounted on a p.c. boardseparately connected to, or within, the tracker-projector.

For the purpose of further description we assume here that the testedsurface 10, represented as actual surface 30 in FIG. 4, differs from itsdesign model represented as nominal surface 28 in FIG. 3. Processor 13computes surface errors in a form of so-called “reversed normaldeviations” (see below) between the actual surface 30 and the nominalsurface 28. Projected pattern 34 is a visualization of those deviationsin the form of a topographical display. In particular, the visualizationshows areas where the surface errors exceed the tolerance limits of thedesign for that surface and require a reworking such as a grinding downof high points or filling in of depressions.

While the topographical display can take a variety of forms, it is shownin the presently preferred form in FIG. 1 as a pattern of contours 34a-34 d, each indicating a boundary line of generally equal deviationsfrom the nominal surface. This contour projection approach provides adirect, on-site visualization of what are often very small, difficult tosee variations of the surface from the intended design. Every projectedcontour line on the surface 10 goes exactly through a set of pointswhere deviation are equal to a particular tolerance value. The contours34 not only show the location of the errors, the topographical nature ofthe contours also locates and identifies directly the degree of thedeviation. Each projected contour also includes one or more so-called“directional pointers” 35 (FIG. 1) that touch the contour at its sideassociated with the positive deviation gradient. The gradient pointers35 are like those used on topographical maps. The projected array ofcontours greatly facilitates a reworking of the surface to nominalspecifications. The visualization pattern 34 does not require any “gridin” process such as a physical drawing of gridlines on the surface 10 inorder to correlate the information from a tracker or the like with aphysical location on the surface to be reworked.

While the invention is described herein with respect to projection ofcontour lines having the same color and defining a region havingsubstantially the same value for the deviation from the nominal surface,the invention also includes (1) defining different levels of deviationin different colors or with different patterns (e.g. dashed lines,dotted lines, solid lines, etc.) and (2) the display of areas ofdeviation that meet or exceed a given tolerance level as solid lightedareas, as opposed to boundary or contour lines. Such areas canadditionally be color-coded so that any one color represents one levelof deviation from the nominal surface. As shown in FIG. 1, the systemalso preferably includes a monitor 40 connected to the processor 13which allows an operator of the system to observe a display 34′ of thepattern 34 independent of its projection onto the surface 10.

The tracker, projector, monitor and surface 10 can be moved with respectto one another after the operation of the tracker to obtain a profile ofthe actual surface, and then readily repositioned at a later time inconnection with a reworking or an inspection of the surface 10. Thecomponents are comparatively compact, and no precise re-positioning isrequired.

The method for visualizing surface errors employed by the visualizationsystem 15 utilizes the surface design (CAD) model data as an input andincludes the following steps.

1) Pre-Process the CAD Model Surface Data and Establish a Mesh Grid.

In today's 3D design practice there are a number of possiblerepresentations of a surface in a CAD model. They include implicit orparametric forms of equations, composite surfaces represented bypatches, surfaces represented by NURBs (Non-Uniform Rational B-Splines),etc. There are a large number of books and publications in computeraided geometric design that generally teach in three dimensional surfacegeometry, representations, interpolation, fitting and approximation.Examples include: I. D. Faux and M. J. Pratt “Computational Geometry forDesign and Manufacture”, John Wiley & Sons, 1983; H. Toria and H.Chiyokura (Eds.) “3D CAD Principles and Applications”, Springler-Verlag,1991; H. Spath “Two Dimensional Spline Interpolation Algorithms”, A. K.Peters, 1995.

Typical tool and part surfaces that may require rework in aerospace andother industries are usually fairly smooth by design. It is alwayspractically feasible to outline a part of a surface for verification andrework that does not have sharply bent areas, e.g. where a normal vectorto any given surface point has a direction that differs from thedirection of any other normal vector to this surface by not more than 90degrees. Further here, we consider an example of such a design surfacerepresented by a set of plane patches that built upon a uniformly spacedX-Y mesh grid that is constructed as a two-dimensional array of gridlines [X(i), Y(i)]. This surface representation is shown as nominalsurface 28 in FIG. 3. The surface 28 is sampled precisely at the nodepoints 50 (intersections of the X and Y grid lines) of the mesh grid 42.The surface 28 consists of quadrilateral plane patches with vertices(knots) 60. The mesh grid 42 spacing should be sufficiently dense tomake sure the design surface is represented by the set of plane patcheswith the requisite degree of accuracy and precision. Z(i) data pointsassociated with each of the grid node points (Xi, Yi), define thenominal surface 28 at knots 60. This data is stored as athree-dimensional array [X(i), Y(i), Z^(NOM)(i)] and it is used as asubstitute for the nominal surface 28 in subsequent computations herein.

The nominal surface 28 shown in FIG. 3 as an illustrative example hasits average normal vector pointing somewhat up, there is an acute anglebetween the average normal and the Z axis. That defines the coordinateplane for the mesh grid 42 chosen to be X-Y. In other imaginablesituations other coordinate planes could be selected. Then the mesh gridwould be constructed as (Xi, Zi) or (Yi, Zi). That is why apreprocessing of the CAD model surface data may be needed beforeestablishing a mesh grid and constructing the nominal surface data arrayfor subsequent computations herein. Calculations involved in thepreprocessing may include transformation of design model data frominitial representation into a set of plane patches, computing an averagenormal vector to the designed surface, and selecting a coordinate planeto construct the mesh grid in such a way that the coordinate axis normalto the selected coordinate plane will have an acute angle between it andthe average normal vector to the designed surface. These calculationsuse conventional computational geometry. Next, there is an example ofthe X-Y coordinate plane selected to construct the mesh grid 42 with thenode points 50 (Xi, Yi) and the nominal surface data array [X(i), Y(i),Z^(NOM)(i)].

2) Acquire the Actual Surface Data Points.

This step has been described above with reference to FIGS. 1 and 2. Bysome coordinate measuring means, the actual surface is measured at anumber of arbitrary points. The points are dense enough to providesufficiently accurate and precise representation of the actual surfacefor the given application. For example, using the optical laser tracker14 described hereinabove results in a point cloud [X(k), Y(k), Z(k)]acquired for the surface 10. The point cloud data are referenced to thedesign model coordinate system.

3) Transform to an Actual Surface Representation.

Because the actual surface data are acquired generally at arbitraryscattered points, it is necessary to transform them into an appropriatesurface representation that can be eventually used to calculate surfacedeviations suitable for further computation of topographical contours.FIG. 4 illustrates the appropriate representation of the actual surface30 as a set of plane patches that built upon the mesh grid 42 that wasconstructed using design model data for the nominal surface 28.

To transform the acquired surface data point cloud into therepresentation shown in FIG. 4 one skilled in the art can use known,so-called local methods of scattered data interpolation (see, forexample, L. L. Shumaker “Fitting Surfaces to Scattered Data” in “G. G.Lorentz and L. L. Shumaker (Eds) “Approximation Theory II”, AcademicPress, 1976, or P. Lancaster and K. Salkauskas “Curve and SurfaceFitting”, Academic Press, London, 1986), and then compute interpolatedsurface points for the nodes 50 of the mesh grid 42. Tis computationwill result in a data set stored as a three-dimensional array [X(i),Y(i), Z^(act-int)(i)], where X(i) and Y(i) define node points 50 in thetwo-dimensional mesh grid 42 identical to those in the representation ofthe nominal surface 28. The Z^(act-int) values are interpolations(“int”) in between the arbitrary acquired points in the scanned pointcloud of the actual surface.

4) Deviation (D) Computation.

With reference to FIG. 5, for each knot 60 on the actual surfacerepresentation 30, as digitized and forming part of the data setdescribed hereinabove in step 3, the method of the present inventioncomputes a deviation D(i) for each of the knots 60 on the actual surface30. For each given knot point (X(i), Y(i), Z^(act-int)(i)) the value ofthe deviation D(i) is computed as so-called reversed normal deviation. Areversed normal deviation means the distance from a given knot 60 of theactual surface 30 along a direction that is normal to the actual surface30 at the knot point 60 and directed toward the nominal surface 28. Tocalculate a reversed normal deviation at a given knot point it isnecessary, first, to find the average normal vector at this knot.Because the surface 30 representation is defined, in the presentexample, as a set of plane patches, it is possible to calculate theaverage normal vector by averaging over the four normal vectorsconstructed to the four plane patches surrounding the given knot.Second, the reversed normal deviation at the given knot is computed as adistance from the given knot along a line in the direction of theaverage normal vector at this knot to a point where the line intersectswith the nearest plane patch representing the nominal surface 28. Apositive value of D(i) represents deviation directed toward one side ofthe nominal surface (e.g. concave), and a negative deviation value ofD(i) represents deviation directed toward the opposite side of thenominal surface (e.g. convex).

It is significant to emphasize here that these deviation values D(i) inX, Y, D space are not the same as Z(i) values in conventionalthree-dimensional X, Y, Z space. For example, if the surface ishemispherical, an outward bulging deviation D on that hemisphericalsurface at a “pole” position in the middle of the hemisphere will havethe same value as its displacement along the Z axis (D=Z). However, thesame bulge with the same deviation D located at or near the “equator”,or edge of the hemisphere will have a negligible Z value (D>>Z). Byusing D calculated along a normal to the actual surface at a knot, thepresent invention obtains a more accurate representation of the trueerror. Further, in reworking a deviation, the D value is moreinformative, and will lead to a more accurate reworking, than a Z value.

While the deviation D has been described as measured from a knot in theactual surface 10 along a line normal to that surface, it is possible tomeasure the deviation from a knot 60 on the nominal surface 28, along aline normal to the surface at that knot. These and other choices in thedetailed implementation of the invention can be made to reflect abalance between factors such as the precision of the measurement and thesimplicity of the calculations. Here, measurements of D from knots onthe actual surface yield a more precise measurement of the deviations,but one that involves more complex calculations than when D is measuredalong lines normal to the nominal surface.

5) Store Deviations.

The calculated data set of deviations D(i) resulting from the foregoingcomputation is merged with the mesh grid data set (Xi, Yi) into athree-dimensional array X(i), Y(i), D(i) that is stored in memory forfurther processing to eventually generate the topographical pattern 34.

6) Map Deviation Space and Set Up Deviation Tolerance Levels.

The values X(i), Y(i), D(i) stored in the step 5 are to be mapped into athree-dimensional space (X,Y,D) with D representing the magnitude of thedeviation at any corresponding X,Y node point, as shown in FIG. 6. Totransform this deviation space eventually into a data set suitable as aninput for the projector 38, a series of incremental levels, in planesorthogonal to the D axis, are set up at D₀, D₁, D_(m), . . . D_(N). EachD level is separated by a chosen deviation tolerance Δ (D), which is notnecessarily uniform from level to level. Each level can be thought of asa “planar slice” through the three-dimensional digitized representationof the surface errors mapped into the “D” space.

7) Form a Set of Contour Lines.

The next step is to compute a set of contour lines as boundaries in theX-Y domain of the “D” space grouping all points where deviations areequal to a particular D level D₀, D₁, D_(m), . . . D_(N). There is awell known mathematical method to perform such computations. Deviation Dis assign to be a function of two variables X and Y. Then the requiredcontour lines can be found as solution sets of N non-linear equationsexpressed in implicit general form as: D(X,Y)=D_(m). Because we usedigital representation of the surface errors those equations becomenumerical expressions D(i)(X(i), Y(i))=D_(m) defined over the mesh grid42 domain. D(i), X(i), and Y(i) here are the components of the athree-dimensional array stored in step 5 above. Solving methods andalgorithms for this kind of equations are known, for example, asdescribed by Gene H. Hostetter et al. in “Analytical, Numerical, andComputational Methods for Science and Engineering”, Prentice Hall, 1991,the disclosure of which is incorporated herein by reference. This bookteaches how to do search and track of isolated contour lines, how toseparate them, how to do a two-dimensional gradient computation, and howto generate topographical contour maps.

Numerical solving of the above mentioned equations results in generatingof N sets of contour arrays. Each set includes one or more contourarrays that correspond to a particular tolerance incremental level. Eachcontour array (X^(cont)(j), Y^(cont)(j), D_(m)) represents a group ofpoints where deviations are equal D_(m). Contour arrays can representclose or open-ended contour lines. Also, each contour array is arrangedin such a way that subsequent array elements correspond to theneighboring points within the contour line. Additionally, the directionof a positive deviation gradient, line to adjacent line, can-becalculated to construct special small open-ended pointer arrays that canbe used later to project gradient pointers 35.

8) Form a Topograghical Map of the Deviations.

Each contour array is converted into a projection array by substitutingD_(m) with Z^(actual-int)(j) found in foregoing step 3. Each resultingprojection array (X^(cont)(j), Y^(cont)(j), Z^(act-int)(j)) represents aseries of points that belongs to the interpolated actual surfaceoutlining a contour of particular tolerance level deviation. The wholeplurality of sets of contour arrays generated in step 7 is to beconverted into projection arrays representing the whole topographicalpattern 34. Additionally, there could be a number of special projectionarrays converted from the special small open-ended pointer arraysmentioned above with purpose of projecting one or more gradient pointers35.

9) Project the Error Pattern.

Data points as converted in step 8 representing the topographical errorpattern 34 are used as input data for the optical projector 38,preferably, but not necessarily, a laser projector, to project thepattern 34 onto the surface 10. This visualizes the set of contour linesdirectly on the actual surface, thereby illustrating immediately on thesurface those areas deviating from the designed surface as well asgiving a direct visual indication of the degree of the deviation in agiven area.

While the invention has been described with reference to preferredembodiments, various alterations and modifications will occur to thoseskilled in the art and those modifications and variations are intendedto fall within the scope of the appended claims.

1. A method for visualizing deviations on an actual surface from anominal surface comprising the steps of: a. mapping the spatialcoordinates of an actual surface, b. comparing said mapped spatialcoordinates to the nominal surface to produce a three-dimensionaldistribution of values for deviations D of the actual surface from thenominal surface, c. generating from said distributions a topographicalpattern of deviations having generally the same deviation value D, andd. optically laser projecting that topographical pattern onto the actualsurface to visualize said deviations D, where said optical laserprojecting is made with reference to at least three fixed referencepoints on said actual surface.
 2. The method of claim 1 wherein saiddeviations D are measured along a normal to the actual surface.
 3. Themethod of claim 1 wherein said topographical pattern constitutes pluralcontours each including deviation values falling within a range of adifferent selected values of D.
 4. The method of claim 1 wherein saidmapping is made with reference to at least three fixed reference pointon said actual surface.
 5. The method of claim 1 wherein said generatingcomprises processing said distribution of sampled spatial coordinatedata into a surface of points representative of the actual surface. 6.The method of claim 1 wherein said mapping comprises optical tracking.7. The method of claim 2, 3, or 5 wherein said processor establishes amesh grid of a preselected grid spacing and conforms said spatialcoordinate data and said nominal data to said mesh grid.
 8. The methodof claim 3 wherein said generating also produces a gradient value anddirection of increasing gradient between said contours, and saidoptically projecting includes a projection of a graphical representationof said gradient associated with said contours.
 9. Apparatus forvisualizing deviations in an actual surface from a nominal surfacecomprising: a. a surface profiler that maps the spatial coordinates ofan actual surface, b. a processor that i) compares said mapped spatialcoordinates to the nominal surface to produce a three-dimensionaldistribution of values for deviations D of the actual surface from thenominal surface, and ii) generates from said distributions atopographical pattern of deviation having generally the same deviationvalue D, and c. an optical laser projector that projects a topographicalpattern onto the actual surface to visualize said deviations D.
 10. Theapparatus of claim 9 wherein said processor computes said deviation Dalong a normal to the actual surface.
 11. The apparatus of claim 10wherein said topographical pattern constitutes plural contours eachincluding deviation values falling within a range of a differentselected values of D.
 12. The apparatus of any of claims 9-11 whereinsaid actual surface has at least three reference points and saidprofiler and said optical projector operate with reference to said atleast three fixed reference points.
 13. The apparatus of claim 12wherein said processor also generates a gradient associated with saidcontours and said optical projector projects a visual display of saidgradients.
 14. The apparatus of claim 12 wherein said surface profileris an optical tracker.
 15. The apparatus of claim 12 wherein saidprocessor establishes a mesh grid of preselected grid spacing andconforms said spatial coordinates and said actual normal surface to saidgrid.